define(function(require, exports){
	var pubjs = require('pubjs');
	var view  = require('@base/view');
	var util = require('util');

	var Detail = view.container.extend({
		init:function(config){
			config = pubjs.conf(config, {
				'class': 'uk-form P-whiskyForm',
				'urlLoad': 'whisky/info'
			});

			this.$id = 0;
			this.Super('init', arguments);
		},
		afterBuild:function(){
			this.append([
				// '<div class="M-formTitle">'+LANG('落地页信息')+'</div>',
				'<div class="M-formContent">',
					'<div class="mb20">',
						'<label class="M-formLabel">'+LANG('名称：')+'</label>',
						'<span class="M-formInput" pub-name="name" pub-mod="@base/common/input.text"/>',
					'</div>',
					'<div class="mb20">',
						'<label class="M-formLabel">'+LANG('封面：')+'</label>',
						'<div class="P-whiskyFormCover"><img src="' + window.ROOT('resources/images/default.png') + '" /></div>',
					'</div>',
					'<div class="mb20">',
						'<label class="M-formLabel">'+LANG('关联产品：')+'</label>',
						'to do: 关联产品',
					'</div>',
					'<div class="mb20">',
						'<label class="M-formLabel">'+LANG('素材：')+'</label>',
						'to do: 素材',
					'</div>',
					'<div class="mb20">',
						'<span pub-name="tag" pub-mod="@base/taglabels.base"/>',
					'</div>',
				'</div>',
				'<div class="M-formButtons">',
					'<span pub-mod="@base/common/input.button" class="mr10" pub-name="close" />',
					'<span pub-mod="@base/common/input.button" class="mr10" pub-name="preview" />',
				'</div>'
			].join(''));

			var config = {
				name: {
					'value': LANG('新建落地页_') + util.date('YmdHis')
				},
/*				tag: {
					'reqType': 'websocket',
					'label': LANG('标签：'),
					'database': 'whisky/tags',
					'tips': LANG('给落地页贴上标签，方便管理。多个标签用“,”分开')
				},*/
				tab: {
					'reqMethod': 'websocket',
					'list': {
						'external':{
							'text': LANG('外部链接'),
							'module': 'whisky/tab.materialLink'
						},
						'local':{
							'text': LANG('本地上传'),
							'module': 'whisky/tab.materialUpload'
						}
					}
				},
				cover: pubjs.config('uploader/cover'),
				linked: {
					'value': LANG('选择产品'),
					'popwin':{
						uri: 'whisky/popwin/product.base'
					},
					'tips': LANG('关联产品代表该落地页能够使用到哪些产品的推广活动上，1个落地页只能关联1个，没有关联该落地页的产品是无法使用它来推广的。')
				},
				preview: {
					'value': LANG('预览'),
					'class': 'btn btn-confirm mt10'
				},
				close: {
					'value': LANG('关闭'),
					'class': 'btn btn-link mr10 mt10'
				},
				tipProduct: {
					'width': 300,
					'data': LANG('关联产品代表该落地页能够使用到哪些产品的推广活动上，1个落地页只能关联1个，没有关联该落地页的产品是无法使用它来推广的。')
				}
			};

			this.buildFromTemplate(config);
		},
		afterBuildTemplate: function(){

		},
		onInputClick: function(ev){
			switch(ev.name){
				case 'close':
					pubjs.controller.navigate('whisky/');
				break;
				case 'preview':
					window.open(this.$previewMaterialUrl, "PreviewMaterialWindow");
				break;
			}
			return false;
		},
		load: function(id){
			var c = this.getConfig();
			pubjs.mc.send(c.urlLoad, {'id': +id}, this.onData.bind(this));
		},
		onData: function(err, data){
			if(err){
				pubjs.error(err);
				return false;
			}

			this.setData(data);
		},
		setData: function(data){
			this.$id = data._id;

			//var el = this.getDOM();


			/*var trans = [null,  'local', 'external'];
			var active = trans[data.Type];
			this.$.tab.switchTab(active);
			var tab = this.$.tab.get(active);
			tab.setData({
				'Material': data.Material,
				'MaterialDetails': data.MaterialDetails,
				'Layout': data.Layout
			});*/

			this.$.name.setValue(data.Name);
			//this.$.tag.setData(data.Labels);

			this.$.cover.reset();
			if (data.Cover) {
				this.$.cover.setValue(data.Cover);
			}
			// @todo data.Products = {id: 111, title:'产品', image:'http://sff.com'};
			//this.$.linked.setValue(data.Products);

			this.$previewMaterialUrl = pubjs.config('materialPreview') + data._id + "/";
		}
	});
	exports.base = Detail;

});